1. Field of the Invention
The present invention relates to an improved method and apparatus for connecting Ethernet network devices wherein settings such as the speed and duplex mode of two linked devices are matched, or the connection fails, to prevent transmission errors and data collisions or conflicts on faulty connections.
2. Description of Related Art
The term Ethernet refers to a family of local area network (LAN) implementations that includes three principal categories: (i) Ethernet and IEEE 802.3. These are both LAN specifications that operate at 10 Mbps (megabits per second) over for instance thick and thin coaxial cable, or twisted pair cable. (ii) 100-Mbps Ethernet. This is a single LAN specification that operates at 100 Mbps over fiber and twisted-pair cables. It is also known as Fast Ethernet because it is 10 times faster than the older 10 Mbps standard. This is defined in IEEE standard 802.3u (iii) 1000-Mbps Ethernet. This is a single LAN specification, also known as Gigabit Ethernet, that operates at 1000 Mbps (1 Gpbs) over fiber and twisted-pair cables. Ethernet has survived as an essential media technology because of its tremendous flexibility and its relative simplicity to implement and understand. Although other technologies are touted as likely replacements, network managers continually turn to Ethernet and its derivatives as effective solutions for a range implementation requirements.
Ethernet and IEEE 802.3 specify similar technologies. Both use CSMA/CD (Carrier Sense Multiple Access/Collision Detection) for media access control. Stations on a CSMA/CD LAN can access the network at any time. Before sending data, stations xe2x80x9clistenxe2x80x9d to the network to see if it is already in use. If so, the station waits. If the network is not in use, the station transmits. A collision (or conflict) occurs when two stations listen for network traffic, xe2x80x9chearxe2x80x9d none, and transmit simultaneously. In such a case, both transmissions are damaged and the stations must back off and retransmit at some later time.
Differences between Ethernet and IEEE 802.3 LANs are subtle. Ethernet provides services corresponding to Layers 1 and 2 of the OSI reference model. IEEE 802.3 specifies the physical layer (Layer 1) and the channel-access portion of the link layer (Layer 2), but does not define a logical link control protocol. Both Ethernet and IEEE 802.3 are typically implemented in hardware. The physical manifestation of these protocols is either an interface card in a host computer or circuitry on a primary circuit board within a host computer. IEEE 802.3 specifies several different physical layers, whereas Ethernet defines only one. Each 802.3 physical layer has a name which summarizes its characteristics. Such names include, for instance, 10Base5, 10Base2, 1Base5, 10BaseT, and 10Broad36. 10Base2 is the physical layer most similar to Ethernet and has characteristics including a 10 Mbps data rate, a baseband signaling method, a maximum segment length of 500 feet, a 50-ohm coax connection media, and a bus topology. The IEEE standard 802.3 and IEEE 802.3u, referred to throughout this document, is herein incorporated by reference.
To support the many different technologies that are on the market today, Clause 28 of the IEEE standard in 802.3u provides for an auto-negotiation capability in such IEEE 802.3 and IEEE 802.3u compatible devices. An auto-negotiation device advertises its abilities and detects the abilities of the connected remote device, known as a link partner. The introduction of physical layer auto-negotiation defined in IEEE 802.3u allows the Ethernet devices at both ends of the connection to build a link using the highest commonly supported speed and duplex mode. However, it is also desirable to build a connection between two Ethernet devices using a specific speed and duplex mode. This is particularly true for testing or measurement purposes, or laboratory environments.
Typically, Ethernet devices provide a user interface so that the device can be set to either xe2x80x9cautoxe2x80x9d mode (i.e. auto-negotiation mode), or alternatively set to a specific speed and duplex mode. In current Ethernet devices, if a device is set to auto mode, it will build a connection with its link partner device using auto-negotiation. However, if a device is set to a specific speed and duplex mode, then that device will not go through auto-negotiation, it will enter that preset mode regardless of the mode of the link partner device. In other words, even if the link partner device is set to auto mode, the current device will stay in its preset speed and duplex mode. This can often lead to various problems in establishing the Ethernet connection. Such problems are associated with mismatched speed or duplex modes at the two ends.
Accordingly, what is needed in the field is an Ethernet device which will negotiate a usable connection with a linked partner device, even if particular speed or duplex mode settings are imposed upon a particular device. A series of decision steps can be used, in association with the auto-negotiation capabilities, to build a collision or conflict free connection at a user specified speed and duplex mode, or to designate the connection as failed.
Various embodiments of the invention provide an improved method and apparatus for configuring connections between network devices, in particular those including Ethernet compliant devices. Existing Ethernet connections which are established using IEEE 802.3 protocols perform auto negotiation when the respective devices are set to auto negotiation mode. However, the improved method will provide an Ethernet connection which will be properly matched with its link partner device, even if the device is set to a specific speed and/or duplex mode. If the device is not configured in auto mode, the user specified speed/duplex mode will be recalled and used to configure the device. As a result of the present invention, backward compatibility is provided between a device which incorporates the present method and a device which does not.
Various embodiments of the invention provide an improved method and apparatus for connecting Ethernet devices wherein settings such as the speed and duplex mode of two linked devices are matched, or the connection fails, to prevent faulty connections. This is achieved (i) by using auto-negotiation processes even if the device is set to a specific speed and/or duplex mode and (ii) by adding additional an additional step to auto-negotiation method to provide backward compatibility in certain full duplex configurations between a device which incorporates the present method and a device which does not.
For instance, even if the user specifies certain speed and duplex mode settings on one device, the link partner device will provide a matched connection, or indicate a failed connection. The method and apparatus utilizes, where available, auto negotiation and parallel detection on both link devices. Device driver software and firmware implements a series of method steps for storing and retrieving configuration settings, and then applying them to the linked devices for achieving a collision or conflict free connection.
Ethernet devices are configured at a certain speed and duplex mode. The IEEE 802.3 standard provides for auto negotiation between two devices which will match the speed and duplex mode at the two ends of a connection. Parallel detection is also used which allows detection of link partners in devices that support 100BASE TX, 100BASE T4, and/or 10BASE T, but do not support auto negotiation.
Using the improvement provided by the present method, Ethernet devices need be configured to xe2x80x9cautoxe2x80x9d mode or configured to a specific speed and duplex mode through a hardware or software user interface. If the device is set to auto mode, the device""s configuration will be saved in such a way that all its supported configuration abilities will be advertised during the auto negotiation process. If the device is not set to auto mode, then the device""s configuration will be saved in such a way that only the specified configuration ability which corresponds to the specific speed and duplex mode, will be advertised during auto-negotiation process.
For Ethernet devices using the present invention, the auto-negotiation process starts upon certain initiating events. In Clause 28 of IEEE standard 802.3 u, parallel detection mechanism is described which allows detection of link partner devices that support 100BASE-TX, 100BASE-T4 and/or 10BASE-T but do not support auto-negotiation. Parallel detection is performed before auto-negotiation starts, and auto-negotiation will not start if at least one of the Normal Link Pulse. Receive Link Integrity Test functions, or the 100BASE-TX or 100BASE-T4 PMAs establishes a link status of xe2x80x9creadyxe2x80x9d when the auto-negotiation wait timer expires. If parallel detection is successfully completed, then the parallel detection function sets the bit in the link partner ability register which corresponds to the technology detected by the parallel detection function. If the link partner supports auto-negotiation, then a connection is established using the highest common capability, or the connection fails if the connection cannot be made according to user specified settings. If the link partner does not support auto-negotiation then a parallel fault detection register is checked. If there was a parallel fault, then the connection fails. If there was not a parallel fault, then the device is checked for a setting of xe2x80x9cautoxe2x80x9d mode. If the device is set to xe2x80x9cauto,xe2x80x9d then the Link Partner Ability Register is read and the physical device (PHY) is set accordingly. If the device is not set to xe2x80x9cauto,xe2x80x9d then the physical device is set the user specified speed and duplex mode. This provides backward compatibility in certain full duplex configurations between a device which incorporates the present method and a device which does not.
According to these steps, which are performed as software and/or firmware operations in a networking device, a collision or conflict free link can be negotiated between two devices which are matched in both speed and duplex mode. The present invention provides an improvement over existing IEEE connection methods by providing the additional step of setting the physical device to the user specified speed and duplex mode if the device is not configured in auto mode. The connection thereby allows a user to specify a speed and duplex mode on one device and achieve an matching connection on the other device. If no matching connection can be achieved, the link will fail thereby preventing a problematic and collision/conflict-prone link.
It is therefore an aspect of the present invention to provide a method, apparatus, device driver, and/or firmware, which follows a decision making process to build a connection with a link partner device at a user specified speed and duplex mode, the present invention adds the additional step over existing IEEE methods of setting the physical device to a user specified speed and duplex mode if the device is not configured in auto mode. In various embodiments of the invention, an additional step is added over existing IEEE 802.3 u auto-negotiation techniques to provide backward compatibility with the other devices having certain duplex configurations.
A further aspect of the present invention is to provide a method for connecting network devices which can use auto-negotiation on both ends of the connection, regardless of the settings imposed on that device, in order to achieve a matched link.
Still another aspect of the present invention is to provide a method for connecting network devices which can use parallel detection if auto-negotiation is not available or provided on a device.
Yet another aspect of the present invention is to provide a method for connecting network devices which uses auto-negotiation on both devices if available, and alternatively uses parallel detection. User defined speed and duplex mode settings are applied if no parallel detection faults occur and xe2x80x9cautoxe2x80x9d mode is not selected. Otherwise, xe2x80x9cautoxe2x80x9d mode is used to configure the device to the ability of the link partner via register settings.
Other aspects and advantages of the present invention can be seen upon review of the figures, the detailed description, and the claims which follow.